package com.vogue.supplymall.shop.domain.dao;

import com.vogue.supplymall.common.domain.dto.RelevanceInfo;
import com.vogue.supplymall.common.domain.dto.SearchInfo;
import com.vogue.supplymall.shop.domain.model.Relevance;

import java.util.List;
import java.util.Map;

/**
 * The interface Relevance dao.
 *
 * @aouthor: zhangliang
 * @date: Create in 2018-03-28
 */
public interface RelevanceDao extends BaseDao<Relevance, Long> {

    /**
     * Find relevance list.
     *
     * @param relevanceInfo the relevance info
     * @return the list
     */
    List<Relevance> findRelevance(RelevanceInfo relevanceInfo);

    List<Map<String,Object>> findProductWatch(SearchInfo searchInfo);

    List<Map<String,Object>> findShopWatch(SearchInfo searchInfo);

    /**
     * Count watch map.
     * 商品关注数量
     * @param relevanceInfo the relevance info
     * @return the map
     */
    Map<String,Object> countWatch(RelevanceInfo relevanceInfo);

    /**
     * Count collect map.
     * 店铺关注数量
     * @param relevanceInfo the relevance info
     * @return the map
     */
    Map<String,Object> countCollect(RelevanceInfo relevanceInfo);

}
